Verilog: module vl_7_segment_hexadecimal_decoder(A, B, C, D, a, b, c, d, e, f, g); input A, B, C, D; output a, b, c, d, e, f, g; wire e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e18, e19, e20, e23, e25; nand u0(e0, C, B); nand u1(e1, D, B); nand u2(e2, C, D); not u3(A, e3); nand u4(e4, A, B); nand u5(e5, A, e1, e2); nand u6(e6, B, e1); nand u7(e7, D, e1, e2); nand u8(e8, C, e1); nand u9(e9, e3, C); nand u10(e10, C, e2); nand u11(e11, e3, e6, e7); nand u12(e12, A, e6); nand u13(e13, B, e0, e5); nand u14(e14, A, e0, e10); nand u15(e15, D, e0, e7); nand u16(a, e0, e5, e11); nand u17(g, e12, e8, e13); nand u18(e18, e9, e7, e13); nand u19(e19, e0, e15, e4); nand u20(e20, B, g, e3); nand u21(e, e18, e10, e4); nand u22(f, e5, e20, e18); nand u23(e23, e, e1, e12); nand u24(d, e23, e14, e15); nand u25(e25, e4, f); nand u26(b, f, e19); nand u27(c, e, e25, a); endmodule VHDL: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; -- =========================================== ENTITY 7_segment_hexadecimal_decoder IS PORT ( A : IN BIT; B : IN BIT; C : IN BIT; D : IN BIT; a : OUT BIT; b : OUT BIT; c : OUT BIT; d : OUT BIT; e : OUT BIT; f : OUT BIT; g : OUT BIT ); END 7_segment_hexadecimal_decoder; -- =========================================== ARCHITECTURE gate_level OF 7_segment_hexadecimal_decoder IS COMPONENT not1 PORT (a1: IN BIT; z: OUT BIT); END COMPONENT; -- Intermediate nets SIGNAL e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e18, e19, e20, e23, e25 : BIT; BEGIN U0 : nand2 PORT MAP (C, B, e0); U1 : nand2 PORT MAP (D, B, e1); U2 : nand2 PORT MAP (C, D, e2); U3 : not1 PORT MAP (A, e3); U4 : nand2 PORT MAP (A, B, e4); U5 : nand3 PORT MAP (A, e1, e2, e5); U6 : nand2 PORT MAP (B, e1, e6); U7 : nand3 PORT MAP (D, e1, e2, e7); U8 : nand2 PORT MAP (C, e1, e8); U9 : nand2 PORT MAP (e3, C, e9); U10 : nand2 PORT MAP (C, e2, e10); U11 : nand3 PORT MAP (e3, e6, e7, e11); U12 : nand2 PORT MAP (A, e6, e12); U13 : nand3 PORT MAP (B, e0, e5, e13); U14 : nand3 PORT MAP (A, e0, e10, e14); U15 : nand3 PORT MAP (D, e0, e7, e15); U16 : nand3 PORT MAP (e0, e5, e11, a); U17 : nand3 PORT MAP (e12, e8, e13, g); U18 : nand3 PORT MAP (e9, e7, e13, e18); U19 : nand3 PORT MAP (e0, e15, e4, e19); U20 : nand3 PORT MAP (B, g, e3, e20); U21 : nand3 PORT MAP (e18, e10, e4, e); U22 : nand3 PORT MAP (e5, e20, e18, f); U23 : nand3 PORT MAP (e, e1, e12, e23); U24 : nand3 PORT MAP (e23, e14, e15, d); U25 : nand2 PORT MAP (e4, f, e25); U26 : nand2 PORT MAP (f, e19, b); U27 : nand3 PORT MAP (e, e25, a, c); END gate_level;